Módulo:Juegos
local p = {} local games = { "Q1" = "Quake", "Q2" = "Quake II", "Q3" = "Quake III Arena", "Q4" = "Quake 4", "ET" = "Enemy Territory: Quake Wars", "QL" = "Quake Live", "QC" = "Quake Champions", "QNADA" = " ", -- Constante dummy } -- -- Buscar un título corto y sin desambiguación -- function stitle(game) local result = gamesgame return result end -- -- Esta función , "links", es para los enlaces ordinarios dentro del cuerpo de -- una infobox. Así que si lo que quieres devolver es Quake 4, entonces -- usa la sintáxis: -- }}} -- Especificando un segundo argumento devuelve el texto en cursiva: -- }|1}} -- function p.links(frame) local result = '' local game_list = mw.text.split(frame.args1, "%s*,%s*") for n, game in ipairs(game_list) do if game:lower() "none" or game:lower() "no" or game:lower() "ninguno" then result = '' else result = result .. '[.. games[game .. '|' .. stitle(game) .. ']]' if n ~= #game_list then result = result .. ' ' end end end if (frame.args2 and result ~= ) then return "" .. result .. "" else return result end end -- -- Esta función, mencionado, es para los enlaces ordinarios dentro del cuerpo de -- una infobox, si se ingresa en "Juegos": "no", "none" o "ninguno", devolverá -- "Solo mencionado" sin cursiva y enlace. -- Así que si lo que quieres devolver es Quake 4, entonces -- la sintáxis es: -- }}} -- Especificando un segundo argumento devuelve el texto en cursiva: -- }|1}} -- function p.mencionado(frame) local result = '' local game_list = mw.text.split(frame.args1, "%s*,%s*") for n, game in ipairs(game_list) do if game:lower() "none" or game:lower() "no" or game:lower() "ninguno" then result = 'Solo mencionado' else result = result .. '[.. games[game .. '|' .. stitle(game) .. ']]' if n ~= #game_list then result = result .. ' ' end end end if (frame.args2 and result ~= '') then if result "Solo mencionado" then return "" .. result .. "" else return "" .. result .. "''" end else return result end end -- -- Pequeña función para invertir los resultados de "ipairs" -- function TablaInversa(t) local tablaInvertida = {} local contarElementos = #t for k, v in ipairs(t) do tablaInvertida+ 1 - k = v end return tablaInvertida end -- -- Esta es una función que inserta genéricamente un enlace en un supertítulo. -- Simplemente a la página de juego en sí o a una página más específica. -- -- resulta en Quake 4 -- resulta en Quake 4 -- resulta en Armas de Quake 4 -- function p.title(frame) local result = '' local game_list = mw.text.split(frame.args1, "%s*,%s*") local r = TablaInversa(game_list) for n, game in ipairs® do if game:lower() "none" or game:lower() "no" or game:lower() "ninguno" then result = 'solo mencionado' if frame.args3 then result = frame.args3 .. ' ' .. result end else local link if frame.args2 then link = frame.args2 .. ' ' .. stitle(game) else link = gamesgame end local text = stitle(game) if frame.args3 and n #r then text = frame.args3 .. ' ' .. text end -- result = result .. '' .. text .. '' result = '' .. text .. ''.. result if n ~= #r then -- result = result .. ' / ' result = ' / '.. result end end end return result end return p --